package com.futu.intelligence.service;


import com.futu.intelligence.entity.Attraction;
import com.futu.intelligence.entity.Favorite;
import com.futu.intelligence.entity.TravelPlan;

import java.util.List;

public interface TravelService {
    /**
     * 生成旅游计划
     * @param city 城市名称
     * @param days 天数
     * @param userId 用户ID
     * @return 旅游计划
     */
    TravelPlan generatePlan(String city, int days, Long userId);

    /**
     * 获取旅游计划详情
     * @param planId 计划ID
     * @return 旅游计划
     */
    TravelPlan getPlanDetail(Integer planId);

    /**
     * 收藏旅游计划
     * @param userId 用户ID
     * @param planId 计划ID
     * @return 结果
     */
    boolean favoritePlan(Long userId, Integer planId);

    /**
     * 取消收藏
     * @param userId 用户ID
     * @param planId 计划ID
     * @return 结果
     */
    boolean cancelFavorite(Long userId, Integer planId);

    /**
     * 获取用户收藏的旅游计划
     * @param userId 用户ID
     * @return 收藏列表
     */
    List<Favorite> getUserFavorites(Long userId);

    /**
     * 获取热门景点
     * @return 热门景点列表
     */
    List<Attraction> getHotAttractions();
}
